home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
math
/
ucalc30c.zip
/
UCALC.DOC
< prev
next >
Wrap
Text File
|
1996-04-17
|
65KB
|
1,661 lines
=======================================================================
ULTIMATE CALCULATOR 3.0c
Copyright (C) 1992-1996 by Daniel Corbier
All Rights Reserved.
=======================================================================
CONTENTS
--------
1. Introduction
2. UCALC Features
3. Getting Started
3.1 Installation
3.2 Single Calculations at the DOS Prompt
3.3 Interactive Calculations
3.4 Loading UCALC as a TSR
3.4.1 Memory
3.4.2 Swap file
3.4.3 Hot Key
3.4.4 Extra Memory
3.4.5 Text Buffer
3.4.6 Resizing and Moving the Window
4. UCALC Prompt
5. Table of Symbols
6. Order of Precedence
7. Flexible Syntax
8. GRAPHING
8.1 How to Plot
8.1.1 Cartesian
8.1.2 Parametric
8.1.3 Polar
8.1.4 Plotting data from another file
8.1.5 Line Segment
8.1.6 Rectangle
8.1.7 Filling an Area
8.2 Graph Menu
8.2.1 [F2] Reset
8.2.2 [F3] Fill
8.2.3 [F4] Color
8.2.4 [F5] Grid/Axis
8.2.5 [F6] Dot/Connect
8.2.6 [F7] Trace
8.2.7 [F8] Mono
8.2.8 [F9] Zoom In
8.2.9 [F10] Zoom Out
8.3 Special Graphing Commands
8.3.1 AUTOCLR (automatic coloring)
8.3.2 AXIS (sets axis line color)
8.3.3 CONNECT (toggle for dot/connect)
8.3.4 GCOLOR (background color in graphic mode)
8.3.5 GRID (sets grid color & pattern)
8.3.6 MODE (selects graphic card)
8.3.7 MONO (turns colors off)
8.3.8 PLOTF (sends the graph coordinates to a file)
8.3.9 PPLOT (edits previously plotted equations)
8.3.10 PREC (sets graph precision)
8.3.11 WINDOW (sets screen coordinate system)
8.3.12 ZOOM (changes zoom factor)
8.4 Moving the Crosshair
8.5 Adding Text to the Screen
8.6 Printing a Graphic Screen
9. Summation
10. Numerical Integration
11. Solving Equations
12. Numerical Notations
13. Implicit Multiplications
14. Assigning Variables
15. Assigning Functions
16. Miscellaneous Commands
16.1 LOAD
16.2 WRITE
16.3 SHELL
16.4 COLOR
16.5 REDIRECT
17. UCALC.DEF
18. Technical Notes
19. Registration
20. Shareware Author & User Case Study
21. My Address
22. Distribution
23. Acknowledgments
1. Introduction
============
UCALC is a graphing scientific calculator which can optionally be
loaded as a TSR taking less than 6K of main memory. It can be used for
simple arithmetic, or complex scientific calculations. It supports
many built-in functions, operators, numerical notations, and modes. It
also allows for user-defined functions and variables. It can evaluate
expressions, solve equations, plot equations, perform numerical
integrations, do summations, and more. Expressions such as the
following are accepted:
63 - 5 + 4.75
(5.9-abs(2.8/5-3))^2 + sin( 3-(pi+3/4)*myfunction(a,b) )
solve 3*x^2+2*x-5 = 27
#b101010 and (#b10101 or #h1CC) * 2^5
plot sin(x)*x^2/10
2. UCALC Features
==============
- MATH EXPRESSION EVALUATOR for simple or complex operations
- Arithmetic, bitwise, and relational operators
- Decimal, hexadecimal, binary and octal notations
- Trig, hyperbolic, and many other common sci. functions
- Supports user defined variables & functions with multiple arguments
- Radian, degree, and gradient modes for trig functions
- High precision: 18 significant digits. +/-3.4E-4932 to +/-1.2E+4932
- Equation solver, summation & sumtable, numerical integration
- TSR OPTION (UCALC /TSR)
- Less than 6K main memory using EMS or file
- Main memory, EMS, or file, can be chosen
- TSR window can be resized or moved
- Hot key can be chosen
- PASTE command
- TSR can be unloaded from memory
- FAST EQUATION PLOTTER
- Interactive menu with ZOOM, TRACE, COLOR, FILL, GRID, etc...
- Support for up to 16 supper-imposed multi-color user graphs
- Cartesian (rectangular), polar, and parametric user graphs
- Data from another file can be plotted
- Adjustable precision & screen coordinate system
- Text can be typed anywhere on the graph screen
- VGA, EGA, MCGA, CGA, and Hercules modes (auto detection or select)
- Coordinates can be saved to a file
- Mouse support
- Online help with F1
- Line editor with expression recall
- Expressions can be entered at the DOS command line
- DOS redirection option
- Adjustable FIX & DIG notation
- LOAD, WRITE, PRINT, SHELL, COLOR, and more
3. Getting Started
===============
3.1 Installation
------------
There is no elaborate procedure for installing UCALC. Simply type
UCALC to run the program. To customize UCALC, simply create or modify
the UCALC.DEF and UCALC.TSR text files (explained further down).
UCALC.EXE, UCALC.DEF, and UCALC.TSR can be placed in a directory
defined in the PATH statement of the AUTOEXEC.BAT file (such as the DOS
or UTILS directory), for easier access.
3.2 Single Calculations at the DOS Prompt
-------------------------------------
There are several ways of running the Ultimate Calculator. The first
way is to enter an expression at the DOS command line as follows:
UCALC 5+4*8/2 [enter]
At the DOS command line, UCALC will accept the following options:
/? Help
/TSR Loads UCALC as a memory resident program
/NODEF Ignores UCALC.DEF
UCALC also supports redirection from the DOS command line.
If an expression is present at the command line, it is evaluated, and
control returns to DOS. If redirection is performed, control also
returns to DOS when finished. Otherwise, it goes to the 'ucalc> '
prompt, where you may enter many expressions and quit with [Esc]. If a
symbol in the expression is in conflict with DOS, then enclose the
expression in quotes.
Examples:
---------
UCALC 3+6-2
UCALC "5^4 | 5*8"
UCALC /NODEF 3+7
UCALC < abc.cal > output.uc
3.3 Interactive Calculations
------------------------
UCALC also provides a line editor for performing multiple calculations.
This environment allows you to assign values to variables, and define
functions as you go along. To run UCALC in that mode, simply type
"UCALC" at the DOS command line without any expression as follows:
UCALC [enter]
When you are in this mode, you can press [F1] any time for help, and
[Esc] to quit the program. See EXAMPLES.DOC to get more ideas on how
to use UCALC. For a graphing demo, enter UCALC < PLOTDEMO from the
DOS prompt.
3.4 Loading UCALC as a TSR
----------------------
A third and more convenient way of running UCALC is to first load it as
a TSR file. From then on, UCALC can be called instantly at any time
with a hot key, without the user having to go to the DOS prompt.
To load UCALC as a TSR program, simply type this at the DOS prompt:
UCALC /TSR
Or, include that line in your AUTOEXEC.BAT file. Once UCALC is memory
resident, it can be invoked at any time with a hot key such as "ALT U".
Before running UCALC as a TSR for the first time, check the parameters
in UCALC.TSR to make sure they match your needs.
The presence of a UCALC.TSR file is optional. In the absence of this
file, the parameters are set as follows:
MEMORY=E/F
SWAPFILE=C:\UCALC$.$$$
HOTKEY=ALT U
EXTRAMEM=11000
TEXTBUFF=15
The following parameters can be set in UCALC.TSR:
3.4.1 Memory
------
The following line sets how UCALC is loaded into memory as a TSR:
MEMORY=<option>
where <option> is one of the following:
EMS
If your computer has EMS memory, then this is the best option. It
takes less then 6K of main memory, and pops up quickly when invoked.
MAIN
If this option is chosen, UCALC will pop up quickly when invoked, but
it will also take a lot of bytes from main memory.
FILE
This option takes up less then 6K of main memory, but instead of
swapping to EMS or using up main memory, it swaps to a file. With this
option, it generally takes more time for UCALC to pop up when invoked.
When using this option, make sure that there is at least 350Kb free on
the hard drive. Do not use this option on a floppy drive, as it would
be painfully slow, and it would crash if the disk were removed when
popping up. If the FILE option is chosen, a file must be defined with
"SWAPFILE=".
E/F
If the "MEMORY=" line is omitted, or if E/F is entered, then UCALC will
use EMS if detected or it will swap to a file if there's no EMS.
3.4.2 Swap file
---------
If a line with "MEMORY=FILE" is used, then a swap file must be defined
as follows:
SWAPFILE=<filename>
The file name must include the drive letter, and path; for instance
"SWAPFILE=C:\UCALC$.$$$". Choose a name that is unique, and unlikely
to be used for something else. To protect the user from accidently
erasing this file, it is marked with a hidden attribute. The swapfile
parameter is ignored if UCALC loads into EMS or main memory.
3.4.3 Hot Key
-------
By default UCALC is popped up by pressing <ALT U>. This can however be
changed by placing a line in UCALC.TSR with the following format:
HOTKEY=<CTRL and/or ALT and/or SHIFT> <character>
The following lines are examples of acceptable hot keys:
HOTKEY=ALT 1
HOTKEY=CTRL V
HOTKEY=CTRL ALT Z
3.4.4 Extra Memory
------------
When UCALC is loaded from DOS without the TSR option, memory is
allocated dynamically. This means that as new variables and functions
are being defined, etc... additional main memory is being taken.
However, when UCALC is loaded as a TSR, a fixed maximum amount of
memory is allocated (which is generally much less than what is
available when running it as a non-TSR). This amount can be raised or
lowered with the following line:
EXTRAMEM=<number>
<number> should be greater than 8000. Anything less may cause UCALC to
run out of memory even for simple calculations.
3.4.5 Text Buffer
-----------
This determines how many lines of text can be recalled. When run from
DOS, 100 lines can be recalled. To conserve memory in TSR mode, the
number of lines that can be recalled should be reduced. This is done
by adding this line.
TEXTBUFF=<number>
Where <number> is between 2 and 100.
3.4.6 Resizing and Moving the Window
------------------------------
<Ctrl> Up, Down, Left, or Right arrow is used for moving the window.
<Alt> Up, Down, Left, or Right changes the window size.
NOTE: When resizing the window, do not use the arrows on the numeric
keypad, since <Alt> <keypad number> is used for returning
ASCII characters. Use the other arrows instead.
4. UCALC Prompt
============
At the 'ucalc> ' prompt, expressions to be evaluated can be entered,
functions and variables can be defined, and the following commands and
function keys can be used:
[F1] Help (same as HELP or ?)
[F2] Lists variables (same as LIST)
[F3] Displays UCALC.DEF (same as LIST DEF)
[F4] DOS shell (same as SHELL)
[F5] Lists user functions (same as LISTF)
[Esc] Quit (same as QUIT, see also EXIT)
AUTOCLR [nn] Sets the number of colors used in graphing.
AXIS color Changes the color of the graphic axis lines.
CLOSE Closes the file opened with the WRITE command.
CLS Clears the screen.
COLOR [foregr] [,backg] Changes the text screen colors.
CONNECT {ON|OFF} Toggles connected/dotted graphs.
DIG nn Changes the total number of digits displayed.
EXIT Exits to DOS (or pops down if in TSR mode).
EXIT TSR Exits, and de-activates UCALC from memory.
FIX nn Changes number of decimal digits displayed.
GCOLOR color Changes graph screen background color.
GRID color [, pattern] Sets the grid pattern in the graph mode.
HELP Gives online help (same as F1 or ?).
INTEG fx,a..b [,n] Numerical integration.
LIST Lists user defined variables (same as F2).
LISTF Lists user defined functions (same as F5).
LIST DEF Displays the contents of UCALC.DEF (F3).
LOAD"filename" Loads a file.
MODE {DEG|RAD|GRA} Changes mode to degree, radian, or gradient.
MODE {HGC|CGA|EGA|VGA|MCGA} Sets the graphic mode for plotting.
MODE HBO Toggles the hex, binary, octal answer display.
MONO Turns graphic mode colors off.
PASTE Places result on screen after popping down.
PLOT [equation] Plots user equations.
PPLOT Edits previously plotted equations.
PREC nn Changes the precision used in graphing.
PRINT [ON|OFF] Prints the current session as you work.
PROMPT"yourprompt" Changes or removes the 'ucalc> ' prompt.
PROMPTA"yourprompt" Changes or removes the 'Answer: ' prompt.
QUIT Exits (same as [Esc]).
REDIRECT [ON|OFF] Enables or disables redirection.
SHELL Shells to DOS (same as F4).
SHELL"command" Executes a DOS command.
SOLVE fx [=gx] [,a..b] Solves an equation.
SUM fx,a..b [,dx] Summation of function fx ranging from a to b.
SUMTABLE fx,a..b [,dx] Summation which displays intermediate results.
WINDOW(x1,x2,y1,y2) Changes the screen coordinate system.
WRITE"filename" Records your session to a file.
ZOOM nn Changes the zoom factor.
The variable 'last' contains the value of the previous computation.
Variable 'x' is the parameter which should be used with SUM, SUMTABLE,
and SOLVE. Selections which appear inside brackets [] are optional.
At the 'ucalc> ' prompt, the up (or down) arrow keys can be used to
recall previous expressions. Several characters may be keyed in before
pressing the up arrow in order to recall an expression starting with
those characters.
5. Table of Symbols
================
Symbol Equivalent Description Example
------ ---------- ----------- -------
( ) Prioritizes an expression 5*(1+1) = 10
! Factorial 5! = 120
^ ** Raised to the power of 4 ^ 5 = 1024
* Multiply by 3 * 6 = 18
/ Divide by 9 / 2 = 4.5
% MOD Modulo 7 % 4 = 3
+ Add 1 + 1 = 2
- Subtract 9 - 5 = 4
> Greater than 9 > 2 = 1
< Less than 7 < 4 = 0
= == Equal test 5 = 4 = 0
>= => Greater or equal 3 >= 3 = 1
<= =< Less or equal $3E <= 9 = 0
<> Not Equal #b10101 <> 20 = 1
NOT Bitwise 'not' not(15) = -16
AND & Bitwise 'and' #b101 and #h1E = 4
OR | Bitwise 'or' 13 or 6 = 15
XOR Bitwise 'exclusive or' 9 xor 3 = 10
EQV Bitwise 'equivalence' 6 eqv 9 = -16
IMP Bitwise 'implication' 1 imp 5 = -1
SIN Sine sin(pi) = 0
COS Cosine cos(pi) = -1
TAN Tangent tan(pi) = 0
ASIN Arcsine asin(1) = 1.570
ACOS Arccosine acos(-1) = 3.141
ATAN ATN Arctangent atan(0) = 0
SINH Hyperbolic sine sinh(3) = 10.01
COSH Hyperbolic cosine cosh(2) = 3.762
TANH Hyperbolic tangent tanh(1) = 0.761
COTH Hyperbolic cotangent coth(1) = 1.318
SECH Hyperbolic secant sech(0) = 1
CSCH Hyperbolic cosecant csch(1) = 0.850
ASINH Hyperbolic arcsine asinh(2) = 1.443
ACOSH Hyperbolic arccosine acosh(9) = 2.887
ATANH Hyperbolic arctangent atanh(.5) = 1.098
ACOTH Hyperbolic arccotangent acoth(7) = 0.143
ASECH Hyperbolic arcsecant asech(.3) = 1.873
ACSCH Hyperbolic arccosecant acsch(2) = 0.481
ABS Absolute value abs(-8) = 8
EXP e to the power of exp(3) = 20.08
RND Random number rnd(1) = .9686
INT Truncate to an integer int(6.8) = 6
CEIL Round upward ceil(6.8) = 7
EXP2 2 to the xth power exp2(3) = 8
EXP10 10 to the xth power exp10(3) = 1000
FACT Factorial fact(5) = 120
LOG2 Log base 2 log2(8) = 3
LOG10 Log base 10 log10(100) = 2
LOG LN Natural log log(16) = 2.77
SGN SIGN Sign of expression sgn(-9) = -1
SQR SQRT Square root sqr(64) = 8
6. Order of Precedence
===================
Here is the precedence list from highest to lowest priority:
Anything inside parenthesis is performed first ( )
Factorial !
Exponentiation ^
Multiplication, division *, /
Modulo MOD
Addition, subtraction +, -
Relational operators <, >, >=, <=, =, <>
AND
OR, XOR (exclusive or)
EQV (equivalence)
IMP (implication)
When consecutive operators have the same priority, UCALC evaluates from
left to right. This means that an expression such as "a-b-c" is
evaluated as "(a-b)-c".
7. Flexible Syntax
===============
UCALC is designed to work in a simple and familiar way, and it
accommodates itself to several styles, so that users may start being
productive the very first time the program is executed. Refer to
'5. Table of Symbols' for the alternative notations of several
operators and functions. The entries below which are grouped together
are equivalent:
ucalc> LOAD"myfile" ; The interchangeability of the quote and
ucalc> LOAD myfile ; parenthesis, or lack of either is also possible
ucalc> LOAD(myfile) ; for MODE, FIX, DIG, AUTOCLR, and PREC.
ucalc> SOLVE(x^2=100) ; The outer parenthesis can also be omitted in
ucalc> SOLVE x^2=100 ; WINDOW, INTEG, SUM, and SUMTABLE.
ucalc> SUMTABLE(x, 1..10) ; Any entry which uses '..' can
ucalc> SUMTABLE(x, 1 to 10) ; also use ' TO ' instead.
ucalc> SUMTABLE x, 1 to 10
ucalc> PLOT y=x^2 ; 'y=' can be omitted for these types
ucalc> PLOT x^2 ; of graphic equations.
ucalc> PLOT x=t, y=t^2, -5..5 ; 'x=' and 'y=' can be omitted
ucalc> PLOT t, t^2, -5..5
ucalc> PLOT t, t^2, -5 to 5
8. GRAPHING
========
To see a demonstration of some of UCALC's graphing capabilities, enter
the following at the DOS prompt:
UCALC < PLOTDEMO
Make sure that the PLOTDEMO, GRAPH1.DAT, and GRAPH2.DAT files are in
the current directory.
8.1 How to Plot
-----------
Syntax: PLOT equation
or PLOT
This plots user equations. If an equation is entered on the same line
as the PLOT command, then it will be plotted. If PLOT is entered alone
at the 'ucalc> ' command line, then the user will be asked to enter
several equations. Press [return] twice when finished entering
equations. Up to 16 user equations can be displayed simultaneously.
NOTE: Unlike expressions which are evaluated at the 'ucalc> ' prompt,
equations that are going to be plotted aren't checked for
certain errors. Division by 0, square root of negative numbers,
etc... do not stop the graph from being plotted.
Examples:
---------
ucalc> PLOT sin(x)
ucalc> PLOT r=t/5
ucalc> PLOT 2x+7
ucalc> PLOT ; PLOT by itself prompts for multiple equations
Equation 1: x^2 ; Plots a parabola
Equation 2: fill(1,3) ; Fills an area bounded by the equation above
Equation 3: line(2,3,-1,5); Line segment from (2,3) to (-1,5)
Equation 4: r=t^2/pi ; Polar equation
Equation 5: cos(t), sin(t); Parametric equation
Equation 6:
After hitting [enter] on the blank line, it will plot the 5 entries
above. Any combination of equations can be entered. The plotting of
an equation can be aborted at any time, by hitting any key.
The following entries can be plotted:
8.1.1 Cartesian
---------
Syntax: y = f(x) [,start..finish] (or simply f(x))
This plots a curve in the rectangular coordinate system (Cartesian).
As a shortcut, the 'y=' can be omitted. For instance, 'y=x^2' can
simply be entered as 'x^2'. The variable parameter is 'x'. Equations
can optionally be plotted within an interval defined by start & finish.
Examples:
---------
PLOT y=tan(x)
PLOT sin(x)-3
PLOT 3cos(x), -pi to 2pi
PLOT 3x^2-5x+1, 0..2 ; ('0..2' can also be written as '0 to 2')
8.1.2 Parametric
----------
Syntax: x = f(t), y = g(t) [,a..b] (or simply f(t), g(t) [,a..b])
Certain types of curves in the x-y plane cannot be expressed in the
form 'y=f(x)'. Parametric equations are more flexible, and can even be
used as a superset of equations in the 'y=f(x)' form. 'y=f(x)' can be
expressed as 'x=t, y=f(t)'. Equations in the form 'x=f(y)' can also
be entered as a parametric equation, in the form 'x=f(t), y=t'. If the
optional interval is omitted, UCALC uses 0..2pi.
Examples:
---------
ucalc> PLOT x= cos(t), y= t-2
ucalc> PLOT cos(t), t-2 ; This is the same as above
ucalc> PLOT cos(t)-1, sin(t)+t-5, 0..3pi
ucalc> PLOT 2 cos(t), t, -5..5
NOTE: Remember that the variable parameter for parametric equations is
't' and not 'x'.
8.1.3 Polar
-----
Syntax: r = f(t) [,a..b]
'r=' is what makes UCALC recognize that it's a polar equation, so 'r='
is not optional. If the optional a..b interval is not entered, then
the default 0..2pi will be used. The variable parameter for polar
equations is 't'.
Examples:
---------
ucalc> PLOT r=t/pi, 0..10pi
ucalc> PLOT r=sin(t)
ucalc> PLOT r=t*sin(t)
8.1.4 Plotting data from another file
-------------------------------
Syntax: "mygraph.dat"
Graphs from a text file can be plotted by entering the name of the file
inside quotes. The file must consist of a list of x and y coordinates
which are separated by spaces, or a comma. The file may look something
like this:
-10 .5440211108893698
-9 -.4121184852417566
-8 -.9893582466233818
-7 -.6569865987187891
etc...
Example:
--------
ucalc> PLOT"mygraph.dat"
8.1.5 Line Segment
------------
Syntax: LINE(x1,y1,x2,y2)
This produces a line segment with endpoints (x1,y1) and (x2,y2).
Example:
--------
ucalc> PLOT line(3,2,5,7)
8.1.6 Rectangle
---------
Syntax: RECT(x1,y1,x2,y2)
This produces a rectangle which has opposing corners (x1,y1) and
(x2,y2).
Example:
--------
ucalc> PLOT rect(0,0,5,6)
8.1.7 Filling an Area
---------------
Syntax: FILL(x,y)
This fills a bounded area on the screen in which (x,y) is located. In
monochrome mode, it fills the area around (x,y) enclosed within any
other curve, or the edge of the screen. If the graphs are in multiple
colors, then the FILL statement only uses the color of the preceding
graph as a boundary. See the example in '8.1 Plotting'.
8.2 Graph menu
----------
When graphing is completed, a menu with function keys appears at the
top. Due to limited space, the descriptions on screen are very brief.
Here is a more detailed explanation of each option.
8.2.1 [F2] Reset
----------
This clears the screen, sets graphs to their original sizes, and then
replots them.
8.2.2 [F3] Fill
---------
Move the cursor inside an enclosed area of the screen, and press F3.
This will fill the enclosed area. This works best in the MONO mode
(press F8 for MONO).
8.2.3 [F4] Color
----------
1. When the crosshair cursor is in the free-floating mode (default) the
background color changes.
2. If a graph is being traced, F4 will change the color of that graph.
8.2.4 [F5] Grid/Axis
--------------
This sets or removes the grid and axis lines. Press it several times
to cycle through the options.
8.2.5 [F6] Dot/Connect
----------------
This toggle plots equations as connected curves, or with disconnected
dots. When the precision is set high enough, dots are close together
and may seem connected.
8.2.6 [F7] Trace
----------
This allows users to trace through polar, parametric, and y=f(x)
equations. Use the right and left arrow keys to trace through a graph.
Pressing F7 again will put the crosshair back in the free-floating
mode. Use the up or down arrow keys to choose the previous or next
equation.
For a "y=f(x)" type of equation, tracing starts on the x coordinate of
the current crosshair location. For polar & parametric equations,
tracing starts at the origin, and additional coordinates are displayed.
8.2.7 [F8] Mono
---------
Due to lack of space, this option is not displayed on the menu. This
sets all the graphs to the same color, allowing the F3 FILL option to
work more effectively. Pressing it a second time sets it back to color
again.
8.2.8 [F9] Zoom In
------------
In order to zoom in on an area, place the crosshair in the center of
the area of interest, and press F9 or the left mouse button. The zoom
factor can be changed with the ZOOM command.
8.2.9 [F10] Zoom Out
--------------
This zooms out. The right mouse button can also be used.
8.3 Special Graphing Commands
-------------------------
The following commands can be entered at the 'ucalc> ' prompt,
or placed in the UCALC.DEF file:
8.3.1 AUTOCLR (automatic coloring)
----------------------------
Syntax: AUTOCLR [nn]
This command causes each consecutive graph to be displayed in a
different color. The optional 'nn' parameter indicates how many
different colors can be used. The default is 15. If some graphs turn
out to be invisible, then a smaller number should be chosen for 'nn'.
The CGA and MCGA modes in UCALC do not support color.
Examples:
---------
ucalc> AUTOCLR ; Allows 15 different colors (default)
ucalc> AUTOCLR 3 ; Tells UCALC to use only 3 different colors
8.3.2 AXIS (sets axis line color)
---------------------------
Syntax: AXIS color
This sets the axis line color. Color 0 turns the axis lines off. It
can be toggled on or off interactively in the graphic screen with F5.
Examples:
---------
ucalc> AXIS 0 ; turns the axis lines off
ucalc> AXIS 1 ; blue axis lines
8.3.3 CONNECT (toggle for dot/connect)
--------------------------------
Syntax: CONNECT {ON | OFF}
When CONNECT is OFF, graphs will be drawn as a series of dots, as
opposed to a continuously connected curve. A dot graph is better for
plotting certain discontinuous graphs, such as "y=INT(x)". When in the
graphic screen, F6 will interactively toggle the connect option.
Example:
--------
ucalc> CONNECT OFF
8.3.4 GCOLOR (background color in graphic mode)
-----------------------------------------
Syntax: GCOLOR color
This sets the background color on the graphic screen. In the VGA mode,
a number between 0 and 63 is accepted. The graphic color can also be
changed interactively by pressing F4 in the graphic screen.
Example:
--------
ucalc> GCOLOR 10
8.3.5 GRID (sets grid color & pattern)
--------------------------------
Syntax: GRID color [,pattern]
This command sets the color and pattern of the grid that will be used
in the graphic screen. In order for the grid not to appear, set GRID
to 0. The optional "pattern" parameter sets a pattern for the line.
The default is #b1000100010001000
. . . . . . . . . .
As illustrated with the dots above, this represents a pattern with each
1 corresponding to a pixel (the pixel dots are of course much closer
together in the graphic screen). A pattern of -1 makes it a continuous
line. The grid can be toggled on or off interactively with F5.
Example:
--------
ucalc> GRID 4 ; Sets a grid with color 4
ucalc> GRID 1, #b1010101010101010 ; Sets a dotted grid with every
; other pixel turned on
ucalc> GRID 5, -1 ; -1 makes it a continuous line
8.3.6 MODE (selects graphic card)
---------------------------
Syntax: MODE {CGA | EGA | HGC | VGA | MCGA}
This changes the graphic mode that is used for plotting. When UCALC
loads up, it automatically determines the highest resolution supported
by your computer. To change it to another screen mode, put a MODE
statement in UCALC.DEF (or type it at the 'ucalc> ' prompt), with the
proper selection.
Example:
--------
ucalc> MODE EGA ; Sets the monitor to EGA mode
8.3.7 MONO (turns colors off)
-----------------------
Syntax: MONO
This turns all colors off in the graphic mode. Those who do not have a
color monitor may want to include this command in UCALC.DEF. This
command may also be useful for a better printout, or when filling the
area between graphs.
8.3.8 PLOTF (sends the graph coordinates to a file)
---------------------------------------------
Syntax: PLOTF"filename"
This sends all the coordinates of the next graph to the specified file.
Follow this command with the PLOT or PPLOT command.
8.3.9 PPLOT (edits previously plotted equations)
------------------------------------------
Syntax: PPLOT
In order to modify a few things in a set of equations that have been
plotted before, use the PPLOT command at the 'ucalc> ' prompt to avoid
retyping everything. Sometimes you may want to simply change a setting
such as the zoom factor or graph precision, and plot the previous set
of equations without modification. In this case, type "PLOT" and press
[enter] twice.
Examples:
---------
ucalc> PPLOT ; This lets you modify previously graphed equations.
ucalc> PLOT
Equation 1: ; Press [enter] without typing an equation to replot
the previous set, if no modifications are desired.
8.3.10 Graphing precision (PREC)
-------------------------
Syntax: PREC nn
This changes the precision used in graphing. 'nn' represents the
number of pixels per unit (x-axis). The higher 'nn' is, the higher the
precision will be. More precision naturally means slower plotting.
The default precision is 10, and should be fine for many graphs. If
stray lines appear in an unbounded graph, or if the graph appears
jagged, or if the curve doesn't quite reach the starting or ending
points (such as in polar graphs) then raising the precision will often
solve the problem.
Example:
--------
ucalc> PREC 100
8.3.11 WINDOW (sets screen coordinate system)
--------------------------------------
Syntax: WINDOW(x1,x2,y1,y2)
This modifies the graphic screen coordinate system. x1 and x2
represent the screen end locations of the X axis, and the Y axis goes
from y1 to y2. The X and Y axes cross at (0,0). The default setting
is WINDOW(-10,10,-7.5,7.5), which means that the origin (0,0) is at the
center of the screen, with point (-10,-7.5) at the bottom left of the
screen and (10,7.5) at the top right of the screen.
Examples:
---------
ucalc> WINDOW(0,10,0,7.5)
This sets the origin at the bottom left of the screen.
ucalc> WINDOW(-1,1,-1,1)
The origin is at the center, and x goes from -1 to 1, and so does y.
ucalc> WINDOW(-10,10,-7,7)
This creates a better proportional window in the EGA mode.
8.3.12 ZOOM (changes zoom factor)
--------------------------
Syntax: ZOOM factor
This sets the zoom factor. The default is 5. When a graph is on the
screen, place the cursor on an area that you want to magnify. Press F9
to zoom in, or F10 to zoom out.
Examples:
---------
ucalc> ZOOM 10 ; When you later press the Zoom In key, the image
; will be magnified 10 times.
8.4 Moving the Crosshair
--------------------
After the graphs have been plotted, a crosshair (graphic cursor) is
placed at the upper left hand corner of the screen. It can be moved
with the arrow keys in order to pinpoint coordinates on the screen.
The Home, End, PgUp, and PgDn keys can also be used, for diagonal
movement. To move the crosshair slowly, press the key and release it
quickly. To move it faster, hold the key down as it accelerates.
8.5 Adding Text to the Screen
-------------------------
To add text on the graphic screen, simply start typing wherever the
crosshair cursor is located.
8.6 Printing a Graphic Screen
-------------------------
In order to be able to send graphs to the printer, run GRAPHICS.COM
(which comes with DOS) before loading UCALC. Then, when a graph is on
the screen, press the 'Print Screen' key to send it out to the printer.
For better results on printers which do not support color, issue the
MONO command at the 'ucalc> ' prompt before plotting. See the DOS
manual for more details on GRAPHICS.COM. This version of UCALC has no
built-in mechanism for printing.
9. Summation
=========
Syntax: SUM fx, a..b [,dx]
b
____
\ f(x) is written as 'SUM f(x), a..b', where f(x) is your
/___ function, and a..b is the range.
x= a The summation cannot be part of another expression.
The optional dx parameter can be used in order to indicate an
increment other than the default 1.
Examples:
---------
ucalc> sum x^2+2*x+14, 5..1000
Answer: 334848394
ucalc> sum x^3-2, 1..15, .1
Answer: 127971.6
SUMTABLE is the same as SUM, except that intermediate values are
displayed as the sum is being added.
ucalc> sumtable x^2/fact(x), 1..3
Count Value Cumulative
1 1 1
2 2 3
3 1.5 4.5
Answer: 4.5
A long list can be aborted with the [Esc] key.
10. Numerical Integration
=====================
Syntax: INTEG fx,a..b [,n]
This approximates the value for the definite integral of fx, using
Simpson's rule. This rule requires that n be an even number. UCALC
takes care of that by automatically transforming n to the next
highest even number (n = n + n mod 2). If no value for n is given,
then 100 is used as the default number of subdivisions. This command
works properly only when fx is a continuous function. INTEG cannot be
part of another expression.
Examples:
---------
ucalc> integ x*sin(x), 0..pi
Answer: 3.14159267059288459
ucalc> integ 1-x^2, 0..1, 8
Answer: .666666666666666667
11. Solving Equations
=================
Syntax: SOLVE fx [=gx] [,a..b]
This solves an equation for the value of 'x'. The statements in
brackets are optional. If the expression on the right of the = sign is
0, then you can simply do: 'SOLVE expression'. For instance,
'SOLVE 3*x+2=0 can be written as SOLVE 3*x+2. If the equation happens
to have several solutions, you can indicate the interval (a..b) of the
particular solution you are interested in.
The algorithm used in this program for solving equations is the
Bisection Method, which is a special case of the Intermediate Value
Theorem. A solution can be found for continuous functions in the
interval a < x < b, where f(a) < 0 < f(b). If a..b is not defined,
then the default interval is from -1E6 to 1E6. If a real solution does
exist, but cannot be found with the default interval, then try
narrowing the interval as much as possible.
Examples:
---------
ucalc> solve exp(x+x^2)-sqr(x+5) = 127
Answer: -2.75962472778054749
Answer: 1.76151609179570087
ucalc> solve sin(x)=cos(x), 0..pi
Answer: .78539816339744831
ucalc> solve x^3+2*x+5 = 10+7
Answer: 2
ucalc> solve 2*x^2-3
Answer: -1.22474487139158905
Answer: 1.22474487139158905
12. Numerical Notations
===================
The default numerical type is DECIMAL. Binary, octal, and hexadecimal
number types are also supported. The latter types must be preceded by
the # (number sign) symbol, and one of the letters "h", "b", or "o",
for hexadecimal, binary, or octal in that respective order. The $ sign
for hexadecimal notation can be used as a shortcut. See examples.
In order to see all your answers in hex, binary, and octal, issue the
command: mode HBO
Exponential notation is also supported. These are numbers followed by
the letter E, and an exponent number. For instance: 3.4E+5 translates
to 3.4*10^5, and 3.4E-5 translates to 3.4*10^(-5).
Examples:
---------
#b110101110, #o656, #h1AE, $1AE, 430, 4.3E2
are all the same number.
#b10101^2 * 5/$1EF + sin(5.8+2)*cos(#o302)-7E6 is a valid expression.
13. Implicit Multiplications
========================
When writing math expressions, it is common to omit the times symbol
(*), when multiplication is implied. For instance, one may write
'2x+5', which is the same as '2*x+5'. The following are examples of
implied multiplications supported by UCALC.
Expression Equivalent
---------- ----------
x y x*y
3pi+10 3*pi+10
5(4+8) 5*(4+8)
(5+5)(3+9) (5+5)*(3+9)
(3+2)8 (3+2)*8
NOTE: Implicit multiplication has the same priority as regular
multiplication. For instance '1/2q' is the equivalent of
'1/2*q' not '1/(2q)'. (This is subject to change in a future
version).
14. Assigning Variables
===================
Variables can be used to store values, which can later become part of
an expression. Variables are composed of letters of the alphabet, and
may contain numerical digits, as long as a numerical digit is not the
first character. A variable can be up to 1024 characters long.
Examples:
---------
mynumber = 12345
mass = 15
speed = 23+10.5
m1 = 10*pi^2
cb26 = sqrt(37) + mynumber
15. Assigning Functions
===================
Once defined, a user function behaves in the same way as a built-in
function. Argument names used in defining functions are temporary, and
do not affect user variables with the same name. The name of the
function itself, however, should be unique. The naming convention of
functions is similar to that of variables. User functions can accept
many arguments.
Examples:
---------
cube(x) = x^3
area(r,h) = pi*r*sqr(r^2+h^2) ; area of right circular cone
logx(base,num) = ln(num) / ln(base)
abc(x,y,z) = 5 + logx(x,y)*z
16. Miscellaneous Commands
======================
16.1 LOAD command
------------
Syntax: LOAD"filename"
This command loads up the contents of a file into the UCALC workspace.
The file may contain any UCALC command. A file saved with the WRITE
command however, cannot be loaded directly if it contains 'ucalc> '
prompts.
Examples:
---------
ucalc> load"convert.def"
ucalc> load"finance.def"
ucalc> load"formula.asc"
16.2 WRITE command
-------------
Syntax: WRITE"filename"
This command records your UCALC session to the file name that you
specify. Everything that is displayed on the screen will go to that
file verbatim, until you issue the CLOSE command, or exit. If the file
already exists, the WRITE command will append to it without removing
what is already in the file.
Example:
--------
ucalc> write"ucalc.log"
16.3 SHELL command
-------------
Syntax: SHELL
This allows you to drop to DOS temporarily. To resume your session,
type EXIT at the DOS prompt. [F4] does the same thing as the SHELL
command. You may also pass a command for DOS to execute.
Examples:
---------
ucalc> shell"dir" ; This executes the DIR command.
ucalc> shell ; This drops you to DOS until you type EXIT.
NOTE: The SHELL command cannot be used in TSR mode.
16.4 COLOR (text color)
------------------
Syntax: COLOR [foreground] [,background]
The foreground and background colors of the text screen can be set at
the 'ucalc> ' prompt (or in UCALC.DEF) with this command. On color
monitors, the foreground color can be a number between 0 and 31.
Background colors can be between 0 and 7. UCALC also clears the screen
when this command is entered. See a DOS or programmers manual for
color values.
Examples:
---------
ucalc> COLOR 7,1 ; sets the screen to white over blue
ucalc> COLOR 11,0 ; light cyan over black
ucalc> COLOR 5 ; changes only the foreground
ucalc> COLOR ,3 ; changes only the background
16.5 REDIRECT
--------
Syntax: REDIRECT {ON|OFF}
Turning redirection off allows text to be displayed on the screen
faster. Also, the color statement may work better when redirection is
off, depending on your screen configuration. By default, UCALC
redirection is ON if UCALC is executed from DOS, and OFF when UCALC is
loaded as a TSR.
17. UCALC.DEF
=========
Commonly used constants & functions, such as e, and logx(x,y) and any
others that are used regularly, and start-up settings, such as COLOR,
and PROMPT, etc... can be defined in UCALC.DEF. This file can be
created or modified with any ASCII text editor. The semicolon (;) can
be used as a remark. Anything following it will not be interpreted as
part of the expression.
Every time UCALC is run, it looks for UCALC.DEF in the current
directory first. If it's not found there, it searches the directory
which UCALC.EXE was loaded from. If the file is found, its functions
and variables are loaded. The /NODEF option at the command line is
equivalent to not having a UCALC.DEF file.
Here is an example of what UCALC.DEF may look like:
color 11,1
grid 3,#b10101
mode HBO
window(-10,10,-7,7)
load"convert.def"
prompt"" ; Removes the default 'ucalc> ' prompt
prompta"A:" ; Replaces the default 'Answer: ' prompt with 'A:'
e = 2.718281828459045 ; Natural log constant
gravity = 9.8 ; Acceleration due to gravity
na = 6.0221367E+23 ; Avogadro's number 1/mol
logx(base,num) = log(num) / log(base)
A total maximum of 300 variables, and 200 user functions can be defined
(and usually much less in TSR mode).
18. Technical Notes
===============
o UCALC is not case sensitive. Upper case letters are treated just the
same as lower case letters. For instance, pi, PI, and Pi are all
treated the same.
o Rounding: The rounding method in UCALC is called banker's rounding.
With this method, numbers ending with the digit 5 are rounded towards
the closest even digit. For instance, both 11.5 and 12.5 are rounded
to 12, and both 13.5 and 14.5 are rounded to 14, when FIX is set to
0. Only the displayed number is rounded, while the actual
calculations are performed in high precision.
o Random Numbers: The RND function produces a random number between 0
and 1. RND(1) returns a new random number each time it is used.
RND(0) returns the previously used random number. If x is negative,
then RND(x) returns a predictable number. For instance, RND(-5) will
produce the same number each time. To get a random number between 0
& x, simply use RND(1)*x. For instance, RND(1)*50 will return a
random number between 0 & 50.
o Ugly Numbers: Occasionally, numbers are not displayed as one might
expect. For instance you might get .499999999999999999 instead of
.5, or 8.23423423982432343E-18 instead of 0, which is actually pretty
close to the answer. This may happen as a result of lengthy
operations, or certain types of functions. One solution is to reduce
the number of decimal digits that are displayed with the FIX command.
o HBO mode: When this mode is on, it will display the hex, binary, and
octal notations, only for values between -32766 and 65535. Numbers
beyond that range are displayed only in decimal form. Negative
numbers are represented in "two's complement" form. Only the integer
part of a number is displayed in hex, bin, and oct. Entering 'MODE
HBO' turns the HBO mode on. Typing it again turns it back off.
o Relational operators return a 1 for true expressions, and 0 for false
ones. For instance, '5 > 3' returns 1, and '5 < 3' returns 0.
o Compound Functions: Functions with multiple entries may be defined
by using relational operators. For instance:
/ 2+x^2, x > 0
f(x) = | 3, x = 0
\ x*2+8, x < 0
can be written as:
f(x) = (2+x^2)*(x > 0) + (3)*(x = 0) + (x*2+8)*(x < 0)
o Equal Sign: The single equal sign, =, can be used both for assigning
functions & variables, and as a relational operator. If there is a
conflict in the logic of an expression such that it can be taken
either way, then use the double equal sign, ==, when a relational
operator is intended. An assignment is assumed only when the
expression left of the left-most equal sign is a valid function or
variable name. To avoid all confusion, use == for relational
operations.
o Limited Function Space: There is a limit of instructions (such as +,
-, *, etc...) which can be used for defining functions. Every time a
function is defined or redefined, part of the instruction list is
filled, and cannot be reclaimed during a UCALC session. An error
message is given when too many functions have been defined.
o Each expression can use a maximum of 33 instructions. If an
expression is too long, UCALC returns an error message. Expressions
can be broken down into several shorter ones.
o The graphic screen is optimized for the VGA mode. With lower
resolution, the crosshair will give a less accurate reading of its
location on the screen. WINDOW(-10,10,-7,7) is a better match for
the proportions of the EGA screen mode.
o UCALC can be de-activated from memory with the command "EXIT TSR".
However, in order for UCALC to be able to remove itself successfully
from memory, UCALC should be the last TSR to be loaded, and the
unloading should take place when UCALC is popped up at the DOS
prompt.
o End-of-file: When doing redirection from the DOS command line, make
sure that the input file ends with an end-of-file marker (^Z, or
ASCII 26). Many text editors take care of this automatically, but a
few don't. An input file may alternatively end with a ^C (ASCII 3)
or the EXIT command. Be sure to add several blank lines at the end
of the input file. An input file with no ^C, ^Z or EXIT, and no
blank lines at the end may cause UCALC to freeze.
o Redirection mode is forced off when UCALC is loaded as a memory
resident program. If the REDIRECT ON command is manually issued when
in TSR mode, UCALC may crash when popping down. This will hopefully
be changed in a future version.
19. Registration
============
UCALC is not "free", neither is it "public domain". It is a
copyrighted program distributed through the shareware channel. This
allows users to try the program first to see if it suits their needs.
If you decide to continue using it, then please remember to pay the
author the requested registration fee. UCALC costs only $25 for
individual use, or less per machine for a site license. There are
discounts for online users.
Registered users receive a special code that permanently deactivates
all registration reminders. Notice that there is no extra shipping
charge in this version because of this, even for international users.
In order to help me better support this program, please answer the
questions in QUEST.DOC, whether you decide to register or not. This
will allow me to keep the price down, and add the right features in the
next version. Use the form in REGISTER.DOC to place your registration.
Easy Service
------------
For your convenience, you can order UCALC from the Public Software
Library with your Visa, Master Card, American Express, or Discover card
by calling toll-free at 1-800-242-4PSL (overseas: 713-524-6394) or by
FAX to 713-524-6398, and even by Compuserve at 71355,470. PSL NUMBERS
ARE FOR ORDERING ONLY. I cannot be reached at those numbers.
Compuserve users can register by typing GO SWREG, and choosing item
#3591. For fastest service, please forward a message to my Internet
account (corbier@satelnet.org, or corbier@delphi.com), as you register.
Support
-------
I will try to extend my support to unregistered users during their
evaluation period, however, I reserve the right to limit my support for
unregistered users if their requests become taxing for me. I much
prefer to communicate by e-mail, rather than postal mail, whenever
possible.
License
-------
For this license agreement, a site is considered to be any corporation,
institution, government agency, computer lab, or non-personal
organization, with more than one computer capable of running the UCALC
software.
A site may use the unregistered version for evaluation purposes only.
If the site decides to continue using UCALC after 30 days, a site
license must be purchased. The site license arrangement provides for
volume discounts. See the file named REGISTER.DOC for the low rates
that are available.
A site license is for use of the software within your site, and is not
transferable. This license allows the internal use and copying of the
software by as many computers as contracted for. Distribution,
repackaging, or reselling of the licensed version to third parties is
not allowed under this agreement. The unregistered version however may
be freely distributed.
The LICENSOR (Daniel Corbier) warrants that he is the sole owner of the
UCALC software and has full power and authority to grant this license
herein without consent of any other party.
Disclaimer
----------
The Ultimate Calculator (UCALC) is provided on an "as is" basis without
warranty of any kind, expressed or implied. The person using the
software bears all risk as to the quality and performance of the
software. The author will not be held liable for any special,
incidental, consequential, direct or indirect damages due to any
malfunctions.
Aside from the legal stuff, I'm eager to support this program as much
as possible. I want to hear your suggestions for the next release.
20. Shareware Author & User Case Study
==================================
When developing UCALC, I had hoped to get many registrations, or at
least enough to support the cost of development. After releasing the
first version, I started getting an occasional registration from time
to time, each one being very helpful, but overall not enough to cover
the cost of development. I changed the registration incentive tactics
in the following version. Things did not pick up, but instead
registrations became much more sparse (until the next version which did
better).
This lead me to do some research to find the right ingredients for
getting people to register. I conducted a survey asking many shareware
users what motivates them to register. I also asked a number of well-
known successful shareware authors what they have done to receive many
registrations. The results are written in a document which can be
found on many BBSes. Here's the description:
Filename: SAUCS1.ARJ (or .ZIP, .LZH, .SDN, ..)
Description: SHAREWARE AUTHOR & USER CASE STUDY v1 - Answers
questions that shareware authors often ask, such as what
motivates users to register, what prevents them from
doing so, how much they are willing to pay, how to get
one's program "out there", whether or not crippling and
nagging works, how long users take to evaluate programs
before paying, etc ... Answers are based on survey
responses from shareware users and successful authors.
Size: 42k (when compressed with ARJ)
21. My Address
==========
For information about dealer pricing, volume discounts, site licensing,
latest version, suggestions, or for technical information, you can
contact me through one of the following means (notice the new address):
US Mail:
Daniel Corbier
20410 SW 92 Place
Miami, FL 33189
FAX: 305-233-2604
Voice Mail: 305-233-2604
Internet:
corbier@delphi.com
corbier@satelnet.org
Fidonet:
Daniel Corbier at 1:135/110 or Daniel Corbier at 1:135/23
Compuserve: 75541,1523
The following two addresses can also be used from Compuserve:
INTERNET: corbier@delphi.com
INTERNET: corbier@satelnet.org
In the Miami area, I usually frequent the following BBSes daily:
Telcom Central 305-828-7909
MACC 305-596-1854
SOX 305-821-3317
I usually read the following conferences:
Fidonet: Shareware, ECPROG, Science and more
Internet: various comp.sys, and sci.math newsgroups, and more
Compuserve: ASP shareware, UK shareware, science, and more
I try my best to answer all e-mail enquiries. Sometimes e-mail can get
lost. If several days pass without a response, please try sending e-
mail to another listed address. Your messages are important.
22. Distribution
============
You are encouraged to distribute the shareware version of UCALC. The
following files must all be present and unmodified when distributed:
UCALC.DEF Sample UCALC.DEF file
UCALC.TSR Options for TSR mode
UCALC.EXE Executable
UCALC.DOC Documentation
QUEST.DOC Questionnaire
HISTORY.DOC Lists the features that were added in each version
EXAMPLES.DOC Examples for UCALC
REGISTER.DOC Registration form
PLOTDEMO Graphic demo. Type UCALC < PLOTDEMO from DOS to see it
GRAPH1.DAT Sample data file for the graphic demo
GRAPH2.DAT Another sample data file
CONVERT.DEF Conversion functions
FILE_ID.DIZ Brief program description
The compressed file name prefix must be UCALC28 or UCAL28 (followed by
ARJ, ZIP, LZH, or other).
Vendors
-------
Vendors may distribute UCALC, as long as it is not labeled "free",
"cheap", "copyright free", or "public domain". It must be made clear
to customers that this program is shareware, and that a payment must be
made to the author if they continue using it. All ASP distributors in
good standing may distribute the Ultimate Calculator without my written
permission (although I would appreciate a copy of your catalog).
Vendors who operate with good business ethics should feel free to
distribute UCALC without my written permission.
23. Acknowledgments
===============
I would like to thank those who have registered UCALC, and everyone who
has sent suggestions. I would like to thank Dr. Steven Gunhouse for
suggestions on graphic features such as zoom, trace, etc.... I would
also like to thank the following people for being beta testers:
Aaron Beharrell
Jonathan Borwein University of Waterloo
David G. Caraballo Princeton University
Elan Feingold Cornell University
Daryl Gungadoo Andrews University
Steven Gunhouse University of Texas
James Hague
Rich Holland Kansas State University
Fred Hapgood
John Lim Eng Hooi
Willie Hutton University of Colorado
Mark W Jacobs Stanford University
Michael D. Lawler Ball State University
Chris Long Rutgers University
Mark E. Mallett
Peter Paul Meiler TNO Physics & Electronics Lab, the Netherlands
Marty Milette Mitel Corporation
Matt Pardo North Carolina Medical Center
Alexander Pruss University of British Columbia
Glauber Ribeiro O.C. International, Brazil
Dave Sklar Temple University
John Steele Video Business Systems
David Steinman University of Toronto
Sue Widemark
Shi-Chang Wooh Northwestern University, Illinois
<<<< END OF UCALC DOCUMENTATION >>>>